1. Field of the Invention
This invention relates to computer systems and more particularly to computer systems having the facility to execute instructions for one type of I/O device and cause a different type of I/O device attached to the system to respond.
The invention finds particular utility for attaching higher performance or different I/O devices to a computer system and operating these devices with programming used for lower performance devices no longer attached to the system or I/O devices attached to the system but unavailable for operation because of being temporarily out of service.
Computer systems are originally designed to operate with a particular set of peripheral I/O devices. Then, when higher performance I/O devices come along they also can be attached to the system. However, in some instances, the characteristics of the higher performance I/O devices are such that the programming for them is different from that for the devices already attached to the system. New programs, of course, are written for the newly attached I/O devices but it would also be desirable to run the newly attached I/O devices in place of some of the originally attached I/O devices with the same programming used therefor. The present invention enables this to be done. It also enables a program to run an I/O device having a set of characteristics different from the I/O devices for which it was intended to run. For example, a higher performance disk drive attached to a computer may have a different instruction routine than a disk drive that has been previously attached to the system. The programs for running the disk drive no longer attached to the system are executed in the same manner as if the disk drive were still attached but effect through translation the operation of the higher performance attached disk drive. As another example, the present invention enables the operation of a disk drive; i.e., an I/O device of one class with a program for operating a printer; i.e., an I/O device of a different class. The printer can then be run at a later time after its service has been restored.
2. Description of the Prior Art
The broad concept of the present invention is to operate an I/O device having one personality under control of two different programs. One program is for operating an I/O device having a personality different from the personality of the attached I/O device. The other program is for operating an I/O device having the personality of the attached I/O device. The instructions generated by the program for the I/O device having a different personality are issued and executed as if such an I/O device were attached to the system. A quasi attachment responds to the executed instruction and signals the central processing unit as if an I/O device were attached to it. This causes the central processing unit to identify the type of instruction issued and translate the instruction to a form to operate the I/O device that is attached to the system. The device attached to the system performs the operation and returns status information to the central processing unit. The central processing unit must recognize that this status information must be converted to status information of the I/O device not attached to the system. After the status information is converted, the computer system continues operation in the normal manner.
In the past it has been the practice to have the I/O device attachment respond only to instructions generated by a program specifically for the attached I/O device. The I/O device would not respond to instructions generated by a program for operating an I/O device of a different personality. The cost of reprogramming or redesign of the I/O control units sometimes becomes prohibitive and thus full advantage cannot be taken of the higher performance I/O device. The present invention makes it possible to use the higher performance I/O device to the exclusion of the lower performance I/O device without incurring prohibitive costs.